Kurt Hsu's blog

The Rails developer in taiwan.


  • 首頁

  • 標籤

  • 分類

  • 歸檔

[Angular-1]$http post formdata基本使用

發表於 2017-05-16 更新於 2019-08-20 分類於 Angular , Angular1

我的工作開發框架是使用Angular1,在串接API的時候$http讓我們方便許多。

首先原生的Ajax使用可以參考這篇MDN,那這篇紀錄一下怎麼用$http上傳formdata的東西:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var dataObj = someObj;
console.log(dataObj); //要上傳的東西,上傳前看一下是好習慣。
var formdata = new FormData();
angular.forEach(dataObj, function (value, key) {
formdata.append(key, value);
});

$http({
method: "POST",
url: "URL",
data: formdata,
headers: { "Content-Type": undefined }
}).then(function (response) {console.log(response)})
.catch(function (response) {console.log(response)});

其實最需要注意的是headers : { "Content-Type": undefined }這裡的設定,查到很多舊資料是設定false,但問過一些人之後似乎是有一次angular的改版要變設定為undefined。

第二個設定是有人把data: formdata使用一個$parse過濾要上傳的東西,變成data: $parse(formdata),但我沒有成功過,那似乎是翻譯angular的語法,已經有點不相干了。

以正常的物件post基本formdata的時候就使用上面那些設定就好囉!有特殊的使用就要再去了解了headers要如何設定。

# Angular # $http # formdata
[Angular-1]type file 使用原生 onchange 呼叫 angular function
[讀書心得]重新定義工作

Kurt Hsu

Progress One Percent Every Day
171 文章
55 分類
163 標籤
RSS
© 2020 Kurt Hsu
由 Hexo 強力驅動 v3.8.0
|
主題 – NexT.Muse v7.3.0